#ifndef __FW_RENDER_H__
#define __FW_RENDER_H__

namespace freewrite
{

	class IFWTexture2D
	{
	public:
		virtual bool SetData(const uint8_t* pSrc, uint32_t srcPitch, uint32_t offsetX, uint32_t offsetY, uint32_t width, uint32_t height, bool bDoNotWait) = 0;
	};

	enum TextureFormat
	{
		TEXFMT_A1,
		TEXFMT_A8,
	};

	class IFWTextureFactory
	{
	public:
		virtual IFWTexture2D* CreateTexture(TextureFormat format, uint32_t width, uint32_t height) = 0;
		virtual void DestroyTexture(IFWTexture2D* pTex) = 0;
	};
}

#endif//__FW_RENDER_H__